// pages/userLogin/userLogin.js

const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    household: {
      name: "",
      phone: "",
      building: "",
      room: ""
    }
  },

  // 前往主界面
  goHome: function () {
    wx.switchTab({
      url: "../index/index",
    })
  },

  // 监听姓名输入框的内容
  nameInput: function (e) {
    this.setData({
      name: e.detail.value
    })
  },

  // 监听电话号码输入框的内容
  phoneInput: function (e) {
    this.setData({
      phone: e.detail.value
    })
  },

  // 监听楼栋号输入框的内容
  buildingInput: function (e) {
    this.setData({
      building: e.detail.value
    })
  },

  // 监听房间号输入框的内容
  roomInput: function (e) {
    this.setData({
      room: e.detail.value
    })
  },

  // 绑定住户信息
  bindHousehold: function () {
    var that = this;
    // 调用云函数
    wx.cloud.callFunction({
      name: 'bindHousehold',
      data: {
        household: that.data.household
      },
      success: function (res) {
        console.log(res.result);
        if (res.result.errCode == 0) { // 成功调用了
          if (res.result.data.correct) { // 住户表中存在该条住户信息
            if (res.result.data.enable) { // 该住户信息可用（没有被其他用户绑定）
              // 弹出模态对话框
              wx.showModal({
                title: '提示',
                content: '住户信息绑定成功',
                showCancel: false,
                success(res) {
                  if (res.confirm) {  // 用户点击确定后
                    console.log('用户点击确定');
                    // 将household存放到全局数据
                    app.globalData.household = that.data.household;
                    // 前往主界面
                    that.goHome();
                  }
                }
              })
            } else { // 该住户信息不可用（被其他用户绑定了）
              wx.showModal({
                title: '提示',
                content: '该住户信息已经被其他用户绑定，如果有问题请联系管理员',
                showCancel: false,
                success(res) {
                  if (res.confirm) {
                    console.log('用户点击确定');
                  }
                }
              })
            }
          } else { // 住户表不存在该条住户信息
            // 弹出模态对话框
            wx.showModal({
              title: '提示',
              content: '住户信息填写错误，或不存在该住户',
              showCancel: false,
              success(res) {
                if (res.confirm) {
                  console.log('用户点击确定')
                }
              }
            })
          }
        } else if(errCode == 2) { // 没有完整地传入必须的参数
          console.log("没有完整的传入必须的参数");
        } else {
          console.log("未能正确地获取用户的openId");
        }
      },
    });
  },

  // 确定按钮
  confirm: function () {
    var that = this;
    if (that.data.name == undefined || that.data.phone == undefined || that.data.building == undefined || that.data.room == undefined || that.data.name == "" || that.data.phone == "" || that.data.building == "" || that.data.room == "") { // 如果用户有未输入的数据，则返回弹窗提示
      // 弹出模态对话框
      wx.showModal({
        title: '提示',
        content: '请将信息填写完整',
        showCancel: false,
        success(res) {
          if (res.confirm) {
            console.log('用户点击确定')
          }
        }
      })
    } else {
      // 将输入的数据封装
      that.setData({
        household: {
          name: that.data.name,
          phone: that.data.phone,
          building: that.data.building,
          room: that.data.room
        }
      })
      // 调用云函数，查询社区住户表，检查填写的信息是否在社区住户表中，是否填写正确
      that.bindHousehold();
      console.log(that.data.household);
    }
  },

  // 返回按钮
  goBack: function () {
    wx.navigateBack({
      delta: 1
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})